{
GtkColorButton *color_button = GTK_COLOR_BUTTON (data);
GtkColorSelection *color_selection;
+ GtkColorSelectionDialog *selection_dialog;
- color_selection = GTK_COLOR_SELECTION (GTK_COLOR_SELECTION_DIALOG (color_button->priv->cs_dialog)->colorsel);
+ selection_dialog = GTK_COLOR_SELECTION_DIALOG (color_button->priv->cs_dialog);
+ color_selection = GTK_COLOR_SELECTION (gtk_color_selection_dialog_get_color_selection (selection_dialog));
gtk_color_selection_get_current_color (color_selection, &color_button->priv->color);
color_button->priv->alpha = gtk_color_selection_get_current_alpha (color_selection);
gtk_color_button_clicked (GtkButton *button)
{
GtkColorButton *color_button = GTK_COLOR_BUTTON (button);
+ GtkColorSelection *color_selection;
GtkColorSelectionDialog *color_dialog;
/* if dialog already exists, make sure it's shown and raised */
{
/* Create the dialog and connects its buttons */
GtkWidget *parent;
+ GtkWidget *ok_button, *cancel_button;
parent = gtk_widget_get_toplevel (GTK_WIDGET (color_button));
gtk_window_set_modal (GTK_WINDOW (color_dialog),
gtk_window_get_modal (GTK_WINDOW (parent)));
}
+
+ g_object_get (color_dialog,
+ "ok-button", &ok_button,
+ "cancel-button", &cancel_button,
+ NULL);
- g_signal_connect (color_dialog->ok_button, "clicked",
+ g_signal_connect (ok_button, "clicked",
G_CALLBACK (dialog_ok_clicked), color_button);
- g_signal_connect (color_dialog->cancel_button, "clicked",
+ g_signal_connect (cancel_button, "clicked",
G_CALLBACK (dialog_cancel_clicked), color_button);
g_signal_connect (color_dialog, "destroy",
G_CALLBACK (dialog_destroy), color_button);
}
color_dialog = GTK_COLOR_SELECTION_DIALOG (color_button->priv->cs_dialog);
+ color_selection = GTK_COLOR_SELECTION (gtk_color_selection_dialog_get_color_selection (color_dialog));
- gtk_color_selection_set_has_opacity_control (GTK_COLOR_SELECTION (color_dialog->colorsel),
+ gtk_color_selection_set_has_opacity_control (color_selection,
color_button->priv->use_alpha);
- gtk_color_selection_set_previous_color (GTK_COLOR_SELECTION (color_dialog->colorsel),
+ gtk_color_selection_set_previous_color (color_selection,
&color_button->priv->color);
- gtk_color_selection_set_previous_alpha (GTK_COLOR_SELECTION (color_dialog->colorsel),
+ gtk_color_selection_set_previous_alpha (color_selection,
color_button->priv->alpha);
- gtk_color_selection_set_current_color (GTK_COLOR_SELECTION (color_dialog->colorsel),
+ gtk_color_selection_set_current_color (color_selection,
&color_button->priv->color);
- gtk_color_selection_set_current_alpha (GTK_COLOR_SELECTION (color_dialog->colorsel),
+ gtk_color_selection_set_current_alpha (color_selection,
color_button->priv->alpha);
gtk_window_present (GTK_WINDOW (color_button->priv->cs_dialog));
cmw_color (GtkWidget *widget, GtkWidget *parent)
{
GtkWidget *csd;
+ GtkWidget *colorsel;
+ GtkWidget *ok_button, *cancel_button;
csd = gtk_color_selection_dialog_new ("This is a modal color selection dialog");
gtk_window_set_screen (GTK_WINDOW (csd), gtk_widget_get_screen (parent));
- gtk_color_selection_set_has_palette (GTK_COLOR_SELECTION (GTK_COLOR_SELECTION_DIALOG (csd)->colorsel),
+ colorsel = gtk_color_selection_dialog_get_color_selection (GTK_COLOR_SELECTION_DIALOG (csd));
+ gtk_color_selection_set_has_palette (GTK_COLOR_SELECTION (colorsel),
TRUE);
/* Set as modal */
g_signal_connect (csd, "destroy",
G_CALLBACK (cmw_destroy_cb), NULL);
- g_signal_connect_swapped (GTK_COLOR_SELECTION_DIALOG (csd)->ok_button,
+ g_object_get (csd,
+ "ok-button", &ok_button,
+ "cancel-button", &cancel_button,
+ NULL);
+
+ g_signal_connect_swapped (ok_button,
"clicked", G_CALLBACK (gtk_widget_destroy), csd);
- g_signal_connect_swapped (GTK_COLOR_SELECTION_DIALOG (csd)->cancel_button,
+ g_signal_connect_swapped (cancel_button,
"clicked", G_CALLBACK (gtk_widget_destroy), csd);
/* wait until destroy calls gtk_main_quit */